package com.krubi.model;

import static javax.persistence.GenerationType.IDENTITY;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;


@Entity
@Table(name = "personas")
public class Persona 
{
	@Id
	@Column(name="id", unique=true, nullable=false )
	@GeneratedValue( strategy = IDENTITY )
	private long id;
	
	
	@OneToOne(cascade = CascadeType.ALL)
	@JoinColumn(name = "id_tipo_persona")
	private TipoPersona tipoPersona;
	
	@OneToOne(cascade = CascadeType.ALL)
	@JoinColumn(name = "id_tipo_doc")
	private TipoDocumento tipoDocumento;
	
	@Column(name="numero_doc", nullable=true )
	private String numeroDoc;
	
	@Column(name="nombre", nullable=true )
	private String nombre;
	
	@Column(name="apellido", nullable=true )
	private String apellido;
	
	@Column(name="razon_social", nullable=true )
	private String razonSocial;
	
	/*
	@Column(name="id_direccion", nullable=true )
	private long _idDireccion;
	*/
	
	@Column(name="sexo", nullable=true )
	private String sexo;

	public long getId() 
	{
		return id;
	}

	public void setId(long pId) 
	{
		id = pId;
	}
	
	public TipoPersona getTipoPersona() 
	{
		return tipoPersona;
	}

	public void setTipoPersona(TipoPersona pTipoPersona) 
	{
		tipoPersona = pTipoPersona;
	}

	public TipoDocumento getTipoDocumento() 
	{
		return tipoDocumento;
	}

	public void setTipoDocumento(TipoDocumento pTipoDocumento) 
	{
		tipoDocumento = pTipoDocumento;
	}
		
	public String getNumeroDoc() 
	{
		return numeroDoc;
	}

	public void setNumeroDoc(String pNumeroDoc) 
	{
		numeroDoc = pNumeroDoc;
	}

	public String getNombre() 
	{
		return nombre;
	}

	public void setNombre(String pNombre) 
	{
		nombre = pNombre;
	}

	public String getApellido() 
	{
		return apellido;
	}

	public void setApellido(String pApellido) 
	{
		apellido = pApellido;
	}

	public String getRazonSocial() 
	{
		return razonSocial;
	}

	public void setRazonSocial(String pRazonSocial) 
	{
		razonSocial = pRazonSocial;
	}

	/*
	public long getIdDireccion() 
	{
		return _idDireccion;
	}

	public void setIdDireccion(long idDireccion)
	{
		_idDireccion = idDireccion;
	}

	 *
	 */
	
	public String getSexo() 
	{
		return sexo;
	}

	public void setSexo(String pSexo) 
	{
		sexo = pSexo;
	}
	
}
